package com.qfmy.web.app.service.listenBook;

import com.qfmy.model.vo.listenBook.AudioResourceVo;

import java.util.List;

/**
 * @author 清风明月
 * @Package com.qfmy.web.app.service.listenBook
 * @date 2025/11/1
 * @description 听书
 */
public interface AudioResourceService {

    /**
     * 获取推荐榜单
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<AudioResourceVo> getRecommendRank(Integer pageNum, Integer pageSize);

    /**
     * 获取热播榜单
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<AudioResourceVo> getHotPlay(Integer pageNum, Integer pageSize);

    /**
     * 获取完结榜单
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<AudioResourceVo> getFinish(Integer pageNum, Integer pageSize);

    /**
     * 获取最新榜单
     * @return
     */
    List<AudioResourceVo> getNewestAudio();


    /**
     * 获取最热新书
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<AudioResourceVo> getHotNewBooks(Integer pageNum, Integer pageSize);

    /**
     * 获取经典
     * @return
     */
    List<AudioResourceVo> getClassicAudio();

    /**
     * 猜你喜欢
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<AudioResourceVo> getGuessYouLike(Integer pageNum, Integer pageSize);

    /**
     * 获取音频详情
     * @param audioId
     * @return
     */
    AudioResourceVo getAudioById(Long audioId);

    /**
     * 获取相似音频
     * @param audioId
     * @return
     */
    List<AudioResourceVo> getSimilarAudio(Long audioId);

    /**
     * 索引音频
     */
    void indexAudios();

    /**
     * 搜索音频
     * @param keyword
     * @return
     */
    List<AudioResourceVo> searchAudio(String keyword);
}
